Simplify ArchiveManager archived entry cache #1022
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
ArchiveManager
is keeping track of cached entries in all kinds of different ways, with a lot of code paths being effectively unused.ArchiveRestartException
should be thrown for the above reason, but there is no code path where this can actually happen.null
result when queried).FreenetURI
as a cache key, which is mutable and could break the cache when changed.Move the cache implementation to a dedicated class that has proper unit tests, and remove all the code paths that were effectively no-op (ignoring a few log statements).
I would suggest to review this commit by commit. The first two commits contain the bulk of the work (their commit messages explain what is happening), the remaining four commit are simpler after the fact cleanups.